package net.pws.oos.biz.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "s_indicator_template")
public class IndicatorTemplate extends Identifier {

	private static final long serialVersionUID = -296174874814602754L;

	private String name;
    
    private String description;
    
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "special_id")
    private Dict special;
    
    @Column(name = "has_deleted")
    private Boolean deleted = Boolean.FALSE;

    @ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "creator_id")
	private User creator;
    
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "create_organ_id")
    private Organization createOrganization;

	@Column(name = "create_datetime")
	private Date createDateTime;
	
	@Column(name = "delete_datetime")
	private Date deleteDateTime;
	
	/**
	 * 工程建设模式
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "construction_model")
	private IndicatorValue constructionModel;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public Dict getSpecial() {
		return special;
	}

	public void setSpecial(Dict special) {
		this.special = special;
	}

	public Boolean getDeleted() {
		return deleted;
	}

	public void setDeleted(Boolean deleted) {
		this.deleted = deleted;
	}

	public User getCreator() {
		return creator;
	}

	public void setCreator(User creator) {
		this.creator = creator;
	}

	public Organization getCreateOrganization() {
		return createOrganization;
	}

	public void setCreateOrganization(Organization createOrganization) {
		this.createOrganization = createOrganization;
	}

	public Date getCreateDateTime() {
		return createDateTime;
	}

	public void setCreateDateTime(Date createDateTime) {
		this.createDateTime = createDateTime;
	}

	public Date getDeleteDateTime() {
		return deleteDateTime;
	}

	public void setDeleteDateTime(Date deleteDateTime) {
		this.deleteDateTime = deleteDateTime;
	}

	public IndicatorValue getConstructionModel() {
		return constructionModel;
	}

	public void setConstructionModel(IndicatorValue constructionModel) {
		this.constructionModel = constructionModel;
	}	
    
}
